package com.bigknow.appstore.common.inf.server.common;

/**
 * 提供小文件存储，供设计器使用，文件名需由客戶保证唯一性
 * <p/>
 * Created by 李科风 on 2015/12/9.
 */
public interface FileStoreHandler {

    /**
     * 添加文件
     *
     * @param fileName 文件名
     * @param data     文件内容，使用BASE64编码的字节数组，便于数据序列化
     */
    void addFile(String fileName, String data);

    /**
     * 判断文件是否存在
     *
     * @param fileName 文件名
     * @return 文件是否存在
     */
    boolean exists(String fileName);

    /**
     * 获取文件内容
     *
     * @param fileName 文件名
     * @return 文件内容，以BASE64编码的字节数组
     */
    String getFile(String fileName);

    /**
     * 更新文件
     *
     * @param fileName 文件名
     * @param data     文件内容，使用BASE64编码的字节数组，便于数据序列化
     */
    void updateFile(String fileName, String data);

    /**
     * 删除文件
     *
     * @param fileName 文件名
     */
    void removeFile(String fileName);
}
